<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Transaksi_keuangan_model extends CI_Model {
	
	
	public function __construct()
	{
		parent::__construct();
	}

	
	// fungsi menambah transaksi_keuangan (add)
	function tambah_transaksi_keuangan($data)
	{
		$this->db->insert('TRANSAKSI_KEUANGAN', $data);
	}

        // fungsi mengubah data transaksi_keuangan (edit)
	function ubah_transaksi_keuangan($data, $id_transaksi_keuangan)
	{
            $this->db->where('ID_TRANSAKSI', $id_transaksi_keuangan);
            $this->db->update('TRANSAKSI_KEUANGAN', $data);
	}

        // fungsi menghapus data transaksi_keuangan
	function hapus_transaksi_keuangan($id_transaksi_keuangan)
	{
            $this->db->where('ID_TRANSAKSI', $id_transaksi_keuangan);
            $this->db->delete('TRANSAKSI_KEUANGAN');
	}
	
	//fungsi query untuk jqgrid
	function getAllGrid($start,$limit,$sidx,$sord,$where){
		$this->db->select('u.*, SUM(a.JUMLAH_TRANSAKSI) AS JUMLAH_TRANSAKSI',false);
                $this->db->join('TRANSAKSI_AKUN a','a.ID_TRANSAKSI=u.ID_TRANSAKSI');
                $this->db->where('a.STATUS_NOTE',0);
                $this->db->group_by('a.ID_TRANSAKSI');
		$this->db->limit($limit);
		if($where != NULL)$this->db->where($where,NULL,FALSE);
		$this->db->order_by($sidx,$sord);
		$query = $this->db->get('TRANSAKSI_KEUANGAN u',$limit,$start);

		return $query->result();
        }
		
	function get_data_transaksi($id_batch){
		//Build contents query
		$this->db->select('u.*, SUM(a.JUMLAH_TRANSAKSI) AS JUMLAH_TRANSAKSI, b.*',false);
		$this->db->from('TRANSAKSI_KEUANGAN u');
		$this->db->join('TRANSAKSI_AKUN a','a.ID_TRANSAKSI=u.ID_TRANSAKSI');
		$this->db->join('BATCH b','u.ID_BATCH=b.ID_BATCH');
		$this->db->where('a.STATUS_NOTE',0);
		$this->db->where('u.ID_BATCH', $id_batch);
		$this->db->group_by('a.ID_TRANSAKSI');
		$this->CI->flexigrid->build_query();
		
		//Get contents
		$return['records'] = $this->db->get();
		
		//Build count query
		$this->db->select('u.*, SUM(a.JUMLAH_TRANSAKSI) AS JUMLAH_TRANSAKSI, b.*',false);
		$this->db->from('TRANSAKSI_KEUANGAN u');
        $this->db->join('TRANSAKSI_AKUN a','a.ID_TRANSAKSI=u.ID_TRANSAKSI');
		$this->db->join('BATCH b','u.ID_BATCH=b.ID_BATCH');
        $this->db->where('a.STATUS_NOTE',0);
		$this->db->where('u.ID_BATCH', $id_batch);
        //$this->db->group_by('a.ID_TRANSAKSI');
		$this->CI->flexigrid->build_query(FALSE);
		
		$return['record_count'] = $this->db->count_all_results();
	
		//Return all
		return $return;
	}

        // fungsi untuk mendapatkan transaksi_keuangan terakhir
	function getLast_transaksi_keuangan($no){
            $this->db->select_max('ID_TRANSAKSI');
            $this->db->from('TRANSAKSI_KEUANGAN');
            $this->db->where('NO_BUKTI', $no);

            return $this->db->get();
        }

        // fungsi untuk mendapatkan no bukti terakhir
	function getLast_noBukti(){
            $this->db->select_max('NO_BUKTI');
            $this->db->from('TRANSAKSI_KEUANGAN');

            return $this->db->get();
        }

        // fungsi untuk mendapatkan transaksi_keuangan berdasarkan id
        function get_transaksi_keuangan_byID($id_transaksi_keuangan){
            $this->db->select('*');
            $this->db->from('TRANSAKSI_KEUANGAN');
            $this->db->where('ID_TRANSAKSI', $id_transaksi_keuangan);

            return $this->db->get();
        }

        // fungsi untuk mendapatkan semua transaksi_keuangan yg statusny aktif
        function get_active_transaksi_keuangan(){
            $this->db->select('*');
            $this->db->from('TRANSAKSI_KEUANGAN');
            $this->db->where('STATUS', 1);

            return $this->db->get();
        }
		
		function delete($id) {
			$this->db->where('ID_TRANSAKSI', $id);
			$this->db->delete('TRANSAKSI_KEUANGAN');
		}
		
		
}